--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / tests / frontend / TutorialModalMigration.test.js
Displaying Raw • Download
tests/frontend/TutorialModalMigration.test.js bdc7fc8a7145c778d17e41cf31da19d11b173507 (bdc7fc8a) Text, 21.49 KB
Tff7b72import Tb4b4b4{ Te6edf3describeTb4b4b4, Te6edf3itTb4b4b4, Te6edf3expectTb4b4b4, Te6edf3viTb4b4b4, Te6edf3beforeEachTb4b4b4, Te6edf3afterEach Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3mountTb4b4b4, Te6edf3flushPromises Tb4b4b4} Tff7b72from Ta5d6ff"@vue/test-utils"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3createRouterTb4b4b4, Te6edf3createWebHashHistory Tb4b4b4} Tff7b72from Ta5d6ff"vue-router"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3createI18n Tb4b4b4} Tff7b72from Ta5d6ff"vue-i18n"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3createVuetify Tb4b4b4} Tff7b72from Ta5d6ff"vuetify"Tb4b4b4;
Tff7b72import Te6edf3TutorialModal Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/components/TutorialModal.vue"Tb4b4b4;
Tff7b72import Te6edf3en Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/locales/en.json"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/ToastUtils"Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3mockTb4b4b4(Ta5d6ff"../../meshchatx/src/frontend/js/GlobalState"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Tff7b72defaultTff7b72: Tb4b4b4{
Te6edf3configTff7b72: Tb4b4b4{ Te6edf3themeTff7b72: Ta5d6ff"light"Tb4b4b4, Te6edf3languageTff7b72: Ta5d6ff"en" Tb4b4b4}Tb4b4b4,
Te6edf3hasPendingInterfaceChangesTff7b72: Tff7b72falseTb4b4b4,
Te6edf3modifiedInterfaceNamesTff7b72: Tff7b72new Tffa657SetTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3mockTb4b4b4(Ta5d6ff"../../meshchatx/src/frontend/js/ToastUtils"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Tff7b72defaultTff7b72: Tb4b4b4{
Te6edf3successTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3errorTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3warningTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3axiosMock Tff7b72= Tb4b4b4{ Te6edf3getTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3postTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3patchTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3vuetify Tff7b72= Te6edf3createVuetifyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3i18n Tff7b72= Te6edf3createI18nTb4b4b4(Tb4b4b4{
Te6edf3legacyTff7b72: Tff7b72falseTb4b4b4,
Te6edf3localeTff7b72: Ta5d6ff"en"Tb4b4b4,
Te6edf3messagesTff7b72: Tb4b4b4{ Te6edf3en Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72function Te6edf3discoveryApiHandlersTb4b4b4(Te6edf3migrationPayloadTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/app/info"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{
Te6edf3app_infoTff7b72: Tb4b4b4{
Te6edf3migrationTff7b72: Te6edf3migrationPayloadTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/reticulum/discovery"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3discoveryTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/community-interfaces"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3interfacesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/reticulum/discovered-interfaces"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3interfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3activeTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/config"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3configTff7b72: Tb4b4b4{ Te6edf3display_nameTff7b72: Ta5d6ff"Anonymous Peer" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/identities"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{
Te6edf3identitiesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"default_identity"Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"Anonymous Peer"Tb4b4b4, Te6edf3is_currentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3dialogStubs Tff7b72= Tb4b4b4{
Te6edf3LanguageSelectorTff7b72: Tff7b72trueTb4b4b4,
Te6edf3MaterialDesignIconTff7b72: Tff7b72trueTb4b4b4,
Te6edf3ToggleTff7b72: Tff7b72trueTb4b4b4,
Te6edf3VIconTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff'<span class="v-icon-stub"/>' Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3pageStubs Tff7b72= Tb4b4b4{
Te6edf3VIconTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff'<span class="v-icon-stub"/>' Tb4b4b4}Tb4b4b4,
Te6edf3LanguageSelectorTff7b72: Tff7b72trueTb4b4b4,
Te6edf3MaterialDesignIconTff7b72: Tff7b72trueTb4b4b4,
Te6edf3ToggleTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"TutorialModal getting started migration"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3api Tff7b72= Te6edf3axiosMockTb4b4b4;
Te6edf3viTb4b4b4.Te6edf3clearAllMocksTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3afterEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72delete Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"dialog show() loads migration offer when app_info reports show_choice"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(
Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/home/x/.reticulum-meshchat"Tb4b4b4,
Te6edf3target_pathTff7b72: Ta5d6ff"/home/x/.reticulum-meshchatx"Tb4b4b4,
Te6edf3modeTff7b72: Ta5d6ff"redirect_to_legacy"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationOfferTb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(
Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/home/x/.reticulum-meshchat"Tb4b4b4,
Te6edf3target_pathTff7b72: Ta5d6ff"/home/x/.reticulum-meshchatx"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(
Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3t Tff7b72= Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3textContent Tff7b72|| Ta5d6ff""Tb4b4b4;
Tff7b72return Tb4b4b4(
Te6edf3tTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3migration_titleTb4b4b4) Tff7b72&&
Te6edf3tTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3migration_migrateTb4b4b4) Tff7b72&&
Te6edf3tTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3migration_freshTb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Te6edf3timeoutTff7b72: T79c0ff4000 Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"dialog migrate posts storage-migration and toasts success"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(
Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/a/.reticulum-meshchat"Tb4b4b4,
Te6edf3target_pathTff7b72: Ta5d6ff"/a/.reticulum-meshchatx"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4, Te6edf3bodyTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/setup/storage-migration"Tb4b4b4) Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3bodyTb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(Tb4b4b4{ Te6edf3actionTff7b72: Ta5d6ff"migrate" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3okTff7b72: Tff7b72trueTb4b4b4, Te6edf3restart_requiredTff7b72: Tff7b72true Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3electron Tff7b72= Tb4b4b4{ Te6edf3relaunchTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tff7b72undefinedTb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationMigrateTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"/api/v1/setup/storage-migration"Tb4b4b4, Tb4b4b4{ Te6edf3actionTff7b72: Ta5d6ff"migrate" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3migration_done_restartTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3relaunchTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"dialog fresh posts action fresh"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(
Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/a/.reticulum-meshchat"Tb4b4b4,
Te6edf3target_pathTff7b72: Ta5d6ff"/a/.reticulum-meshchatx"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3okTff7b72: Tff7b72trueTb4b4b4, Te6edf3restart_requiredTff7b72: Tff7b72true Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationFreshTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"/api/v1/setup/storage-migration"Tb4b4b4, Tb4b4b4{ Te6edf3actionTff7b72: Ta5d6ff"fresh" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3migration_done_restartTb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"dialog migration API error calls ToastUtils.error"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(
Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/a/.reticulum-meshchat"Tb4b4b4,
Te6edf3target_pathTff7b72: Ta5d6ff"/a/.reticulum-meshchatx"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockRejectedValueTb4b4b4(Tb4b4b4{
Te6edf3responseTff7b72: Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3errorTff7b72: Ta5d6ff"target already has data" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationMigrateTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"target already has data"Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"migrationMigrate does nothing when migrationOffer is null"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationOfferTb4b4b4)Tb4b4b4.Te6edf3toBeNullTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationMigrateTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"dialog omits migration panel when show_choice is false"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationOfferTb4b4b4)Tb4b4b4.Te6edf3toBeNullTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"tutorial page mode loads migration offer on mount"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(
Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/z/.reticulum-meshchat"Tb4b4b4,
Te6edf3target_pathTff7b72: Ta5d6ff"/z/.reticulum-meshchatx"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[
Tb4b4b4{
Te6edf3pathTff7b72: Ta5d6ff"/tutorial"Tb4b4b4,
Te6edf3nameTff7b72: Ta5d6ff"tutorial"Tb4b4b4,
Te6edf3metaTff7b72: Tb4b4b4{ Te6edf3isPageTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/tutorial"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3pageStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationOfferTb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(
Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3show_choiceTff7b72: Tff7b72trueTb4b4b4,
Te6edf3legacy_pathTff7b72: Ta5d6ff"/z/.reticulum-meshchat"Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3migration_titleTb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"refreshMigrationOffer leaves migration null when app_info has no migration"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/app/info"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3app_infoTff7b72: Tb4b4b4{ Te6edf3versionTff7b72: Ta5d6ff"1.0.0" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/reticulum/discovery"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3discoveryTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/community-interfaces"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3interfacesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/reticulum/discovered-interfaces"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3interfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3activeTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3refreshMigrationOfferTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3migrationOfferTb4b4b4)Tb4b4b4.Te6edf3toBeNullTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"identity step new mode applies display name and continues"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3patchTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff2Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityMode Tff7b72= Ta5d6ff"new"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityName Tff7b72= Ta5d6ff"Mesh User"Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3patchTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{ Te6edf3display_nameTff7b72: Ta5d6ff"Mesh User" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStepTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"identity step import base32 switches to imported and deletes default on finish"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4, Te6edf3bodyTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/identity/restore"Tb4b4b4) Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3bodyTb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(Tb4b4b4{
Te6edf3base32Tff7b72: Ta5d6ff"ABCD1234"Tb4b4b4,
Te6edf3display_nameTff7b72: Ta5d6ff"Imported User"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3identityTff7b72: Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"imported_hash" Tb4b4b4}Tb4b4b4, Te6edf3messageTff7b72: Ta5d6ff"ok" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/identities/switch"Tb4b4b4) Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3bodyTb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(Tb4b4b4{ Te6edf3identity_hashTff7b72: Ta5d6ff"imported_hash" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3hotswappedTff7b72: Tff7b72true Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/app/tutorial/seen"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Tff7b72delete Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff2Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityMode Tff7b72= Ta5d6ff"import"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityName Tff7b72= Ta5d6ff"Imported User"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportBase32 Tff7b72= Ta5d6ff"ABCD1234"Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportedHashTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"imported_hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStepTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3totalStepsTb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3finishTutorialTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"/api/v1/identities/switch"Tb4b4b4, Tb4b4b4{
Te6edf3identity_hashTff7b72: Ta5d6ff"imported_hash"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Tff7b72deleteTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"/api/v1/identities/default_identity"Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"identity import mode requires file or base32 input"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff2Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityMode Tff7b72= Ta5d6ff"import"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportBase32 Tff7b72= Ta5d6ff" "Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStepTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportErrorTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3enTb4b4b4.Te6edf3tutorialTb4b4b4.Te6edf3identity_import_requiredTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"identity step new mode falls back to default username for blank input"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3patchTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff2Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityMode Tff7b72= Ta5d6ff"new"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityName Tff7b72= Ta5d6ff" "Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3patchTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{ Te6edf3display_nameTff7b72: Ta5d6ff"Anonymous Peer" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStepTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"identity import continue is race-safe and only submits one restore request"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3resolveRestoreTb4b4b4;
Tff7b72const Te6edf3restorePromise Tff7b72= Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3resolveRestore Tff7b72= Te6edf3resolveTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/identity/restore"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3restorePromiseTb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff2Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityMode Tff7b72= Ta5d6ff"import"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityName Tff7b72= Ta5d6ff"Race User"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportBase32 Tff7b72= Ta5d6ff"RACEKEY"Tb4b4b4;
Tff7b72const Te6edf3p1 Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3p2 Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTimesTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3resolveRestoreTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{
Te6edf3identityTff7b72: Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"race_hash" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3allTb4b4b4(Tb4b4b4[Te6edf3p1Tb4b4b4, Te6edf3p2Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportedHashTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"race_hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStepTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"finishTutorial keeps modal open and reports error when identity switch fails"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Te6edf3discoveryApiHandlersTb4b4b4(Tb4b4b4{ Te6edf3show_choiceTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3url Tff7b72=== Ta5d6ff"/api/v1/identities/switch"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3rejectTb4b4b4(Tb4b4b4{ Te6edf3responseTff7b72: Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"switch failed" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Tff7b72delete Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3router Tff7b72= Te6edf3createRouterTb4b4b4(Tb4b4b4{
Te6edf3historyTff7b72: Te6edf3createWebHashHistoryTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3routesTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"home"Tb4b4b4, Te6edf3componentTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div/>" Tb4b4b4} Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3routerTb4b4b4.Te6edf3isReadyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3TutorialModalTb4b4b4, Tb4b4b4{
Te6edf3attachToTff7b72: Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{ Te6edf3pluginsTff7b72: Tb4b4b4[Te6edf3routerTb4b4b4, Te6edf3vuetifyTb4b4b4, Te6edf3i18nTb4b4b4]Tb4b4b4, Te6edf3stubsTff7b72: Te6edf3dialogStubs Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3visible Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3currentStep Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3totalStepsTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3identityImportedHash Tff7b72= Ta5d6ff"imported_hash"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3originalIdentityHash Tff7b72= Ta5d6ff"default_identity"Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3finishTutorialTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3visibleTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Tff7b72deleteTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"switch failed"Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────